Gesture detection and compact representation thereof

ABSTRACT

Techniques are described that may be implemented with an electronic device to detect a gesture within a field of view of a sensor and generate a compact data representation of the detected gesture. In implementations, a sensor is configured to detect a gesture and provide a signal in response thereto. An estimator, which is in communication with the sensor, is configured to generate an elliptical representation of the gesture. Multiple coefficients for the compact representation of the gesture can be used to define the ellipse representing the gesture.

BACKGROUND

Gesture detection and recognition can be used to provide new and moreintuitive interfaces to electronic devices. The goal of gesturerecognition is to interpret human gestures via mathematical algorithms.Generally speaking, gestures can originate from any bodily motion orstate, but most often originate from the face or hand of a human user,e.g., in the manner of hand gestures. Gesture recognition is oftenlooked to as a way for computers to begin to understand human bodylanguage, in order to provide a more convenient and/or intuitiveinterface between machines and humans than text-based interfaces andGraphical User Interfaces (GUIs), which typically limit the majority ofelectronic device input to a keyboard, a mouse, and possibly a touchpad.Thus, gesture detection and recognition can enable humans to interactmore naturally with machines without requiring the use of mechanicalinput devices.

SUMMARY

Techniques are described that may be implemented with an electronicdevice to detect a gesture within a field of view of a sensor andgenerate a compact data representation of the detected gesture. Inimplementations, a sensor is configured to detect a gesture and providea signal in response thereto. An estimator, which is in communicationwith the sensor, is configured to generate an elliptical representationof the gesture. Multiple coefficients for the compact representation ofthe gesture can be used to define the ellipse representing the gesture.

This Summary is provided solely to introduce subject matter that isfully described in the Detailed Description and Drawings. Accordingly,the Summary should not be considered to describe essential features norbe used to determine scope of the claims.

BRIEF DESCRIPTION OF THE DRAWINGS

The detailed description is described with reference to the accompanyingfigures. In the figures, the left-most digit(s) of a reference numberidentifies the figure in which the reference number first appears. Theuse of the same reference numbers in different instances in thedescription and the figures may indicate similar or identical items.

FIG. 1 is a diagrammatic illustration of four photodiodes arranged in aphotodiode array in accordance with example implementations of thepresent disclosure.

FIG. 2 is a graph illustrating the response of the four photodiodesshown in FIG. 1 when a left-to-right swipe gesture is detected by thephotodiode array.

FIG. 3 is a graph illustrating the response of the four photodiodesshown in FIG. 1 when a top-to-bottom swipe gesture is detected by thephotodiode array.

FIG. 4 is a graph illustrating differential responses for two pairs ofthe four photodiodes shown in FIG. 1, along with an absolute magnitudeof the responses of the four photodiodes.

FIG. 5 is a graph illustrating a direct measurement of the response ofthe four photodiodes with respect to a Cartesian coordinate referenceframe in accordance with example implementations of the presentdisclosure.

FIG. 6 is a graph illustrating estimated position states for thephotodiode response illustrated in FIG. 5.

FIG. 7 is a graph illustrating Kalman Estimator derived velocityvectors/pseudo velocity states for the photodiode response illustratedin FIG. 5.

FIG. 8 is a graph illustrating estimated depth state for the photodioderesponse illustrated in FIG. 5.

FIG. 9 is a graph illustrating dxdt plotted against dydt for aleft-to-right horizontal swipe gesture in accordance with exampleimplementations of the present disclosure.

FIG. 10 is a graph illustrating dxdt plotted against dydt for atop-to-bottom vertical swipe gesture in accordance with exampleimplementations of the present disclosure.

FIG. 11 is a graph of an elliptical representation of the left-to-righthorizontal swipe illustrated in FIG. 9.

FIG. 12 is a graph of an elliptical representation of the top-to-bottomvertical swipe illustrated in FIG. 10.

FIG. 13 is a block diagram illustrating an electronic device that can beconfigured to determine a compact representation of a gesture inaccordance with example implementations of the present disclosure.

FIGS. 14A through 14D are diagrammatic illustrations of the electronicdevice illustrated in FIG. 13, wherein the electronic device isconfigured to provide a visual representation of the compactrepresentation of a gesture via a display.

FIG. 15 is a flow diagram illustrating a method for determining acompact representation of a gesture in accordance with exampleimplementations of the present disclosure.

DETAILED DESCRIPTION

Overview

Increasingly, gesture detection is being employed by electronic devicesto detect input for various applications associated with the electronicdevice. However, such electronic devices typically employ a large numberof photodetectors to improve range and operation (e.g., noise reduction)of gesture detection.

Accordingly, techniques are described that may be implemented with anelectronic device to detect a gesture within a field of view of a sensor(e.g., a photodetector) and generate a compact data representation ofthe detected gesture. In implementations, a photodetector of anelectronic device is configured to detect light corresponding to agesture and provide a signal in response thereto. For example, thephotodetector may comprise a segmented photodetector that includes anarray of individual photodetectors (e.g., an array of two-by-two (2×2)photodetectors). An estimator, which is in communication with thesensor/photodetector, is configured to generate one or more estimatedvalues of the signal corresponding to an elliptical representation ofthe gesture. For example, the estimator may be a Kalman estimatorconfigured to estimate velocity vectors based upon the signals generatedby the segmented photodetector.

Multiple coefficients associated with the estimated values can bedetermined based upon an elliptical representation of the gesture. Thesecoefficients can then be used to represent the gesture. In animplementation, five (5) coefficients can be used to represent variouscharacteristics of an ellipse. For example, representative coefficientsmay include the center coordinates (centroid) of the ellipse within ageographic plane, radii of the ellipse (e.g., a semi-major radius and asemi-minor radius) within the geographic plane, and an orientation ofthe ellipse within the geographic plane (e.g., an angular measurementwith respect to an axis of the geographic plane). In implementations,the orientation of the ellipse can be used to represent the direction ofthe gesture with respect to the orientation of the photodetector, whilethe semi-major radius of the ellipse can be used to represent thespeed/velocity of the gesture, and the area of the ellipse can be usedto represent the size and height of the object.

Thus, the electronic device is configured to detect a gesture anddetermine a lossless and compact elliptical representation of thegesture (e.g., using five coefficients), allowing for greater gesturedetection robustness. In implementations, a direct least squares fit ofan ellipse can make full use of the measured gesture data, translatingto an increase in the effective range of operation for a particularsensor size. Through the use of stochastic estimation techniques andleast squared identification, gesture detection robustness can beincreased, while false positives can be reduced. This stochasticestimation may provide compensation for imperfections in, for example,optical and/or electrical paths. This improved performance is manifestedas an extended range of operation. Further, cost of equipment associatedwith gesture detection may be reduced, e.g., by reducing the arearequired for the associated detection equipment, such as photodiodes,while still maintaining adequate performance.

Example Techniques

Referring now to FIGS. 1 through 12, a sensor is described that isconfigured to sense a gesture and provide one or more electronic signalsrepresenting the gesture. For example, with reference to FIG. 1, asensor may be implemented using a photodiode array 100 comprising anumber of photodiodes (e.g., four photodiodes 102, 104, 106, and 108).However, it should be noted that photodiode array 100 is provided by wayof example only and is not meant to be restrictive of the presentdisclosure. Thus, other sensors may be employed. For example, thephotodiode array 100 may comprise a four by four (4×4) array ofphotodiodes, and so forth. In implementations, the photodiode array 100may be implemented for gesture detection and/or recognition with adevice such as a tablet computer, a mobile phone, a smart phone, aPersonal Computer (PC), a laptop computer, a netbook computer, ahand-held portable computer, a Personal Digital Assistant (PDA), amultimedia device, a game device, an e-book reader device (eReader), aSmart TV device, a surface computing device (e.g., a table topcomputer), and so forth.

As an object (e.g., a hand) traverses the field of view of thephotodiode array 100 from left to right, the generated array responsemay be represented by the graph shown in FIG. 2, where the pair ofphotodiodes 102 and 106 exhibit similar responses, as does the pair ofphotodiodes 104 and 108. In the context of the present example, theseresponses indicate that the object entered the field of view of thephotodiode array 100 from the left and exited to the right (e.g., in themanner of a left-to-right swipe gesture). Similarly, as shown in FIG. 3,when an object enters the field of view of the photodiode array 100 fromthe top and exits at the bottom (e.g., in the manner of a top-to-bottomswipe gesture), the pair of photodiodes 102 and 108 may exhibit similarresponses, as does the pair of photodiodes 102 and 104. One technique todetermine the direction of the gesture would be to time stamp azero-crossing or threshold, and then determine a direction based upon asingle sample point (e.g., with reference to thezero-crossing/threshold). However, this technique is susceptible tonoise.

Referring now to FIG. 4, a differential response may be computed for thefour photodiodes 102, 104, 106, and 108 of the photodiode array 100 forgesture recognition. For example, differential pairs may be defined suchthat the response of photodiode 104 minus the response of photodiode 106is used to represent a Northeast-to-Southwest (NESW) gradient, where thecardinal directions North (N), South (S), East (E), and West (W)correspond to orientations with respect to the photodiode array 100 oftop, bottom, right, and left, respectively. Similarly, the response ofphotodiode 102 minus photodiode 108 is used to represent aNorthwest-to-Southeast (NWSE) directional gradient. Additionally, theresponse of the four photodiodes 102, 104, 106, and 108 can be summed toprovide an absolute magnitude/depth for the photodiode array 100.

Referring to FIG. 5, differential pairs (e.g., as described above) canbe combined to form a direct measurement within a Cartesian referenceframe (e.g., using x and y coordinates). For instance, a coordinatesystem can be defined where an x-coordinate is determined based uponadding the response of photodiodes 102 and 106, and then subtracting theresponses of photodiodes 104 and 108 from the resulting sum. Further, ay-coordinate can be determined based upon adding the responses ofphotodiodes 102 and 104 and subtracting the responses of photodiodes 106and 108. The response of the photodiode array 100 calculated in thismanner is shown in FIG. 5, where it can be seen that there is a clearlydefined stimulus in the x-dimension and a slight stimulus in they-dimension. This response implies a left-to-right gesture. It should benoted that a right-to-left gesture may be depicted in a similar manner,but with a change in sign.

In implementations, an elliptical representation of a gesture may begenerated using a Kalman Estimator for velocity vector estimation andsensor calibration, and a direct form least squares estimation to fitthe data to an ellipse. In the present example, the Kalman Estimatorcomprises seven states: x, dxdt, y, dydt, z, xoffset, and yoffset. Inthis example, (x,y) correspond to coordinates in the Cartesian referenceframe derived above; (dxdt, dydt) are the dimensionless velocity vectorsof the object within the reference frame; (z) corresponds to a magnitudevector, which is conceptually proportional to the depth/height/side ofthe object; and the (xoffset, yoffset) states track bias offset withinthe optical/electrical paths. For example, dust on the lens willmanifest as a bias in the measurement of (z1,z2).

The present example uses the linear form of a Kalman Estimator. Asimilar Extended Kalman Estimator can be used with a polar coordinatesystem, and can provide estimations of phase information. The techniquesdescribed herein can be used with either form of a Kalman Estimator. Forthese states, the following equations are defined:x(k+1)=A*x(k)+G*qwhere A represents the state transition matrix, Q=G*v represents modelvariance, and

$A = \begin{bmatrix}a & T & 0 & 0 & 0 & 0 & 0 \\0 & 1 & 0 & 0 & 0 & 0 & 0 \\0 & 0 & a & T & 0 & 0 & 0 \\0 & 0 & 0 & 1 & 0 & 0 & 0 \\0 & 0 & 0 & 0 & 0 & 0 & 0 \\0 & 0 & 0 & 0 & 0 & 0 & 0 \\0 & 0 & 0 & 0 & 0 & 0 & 0\end{bmatrix}$ $Q = \begin{bmatrix}q & 0 & 0 & 0 & 0 & 0 & 0 \\0 & q & 0 & 0 & 0 & 0 & 0 \\0 & 0 & q & 0 & 0 & 0 & 0 \\0 & 0 & 0 & q & 0 & 0 & 0 \\0 & 0 & 0 & 0 & q & 0 & 0 \\0 & 0 & 0 & 0 & 0 & q & 0 \\0 & 0 & 0 & 0 & 0 & 0 & q\end{bmatrix}$

For the measurements, the following measurement equation is defined:y(k)=H*x(k)+W*rwhere H is the measurement matrix, R=W*rr′ is the noise variance, and

$R = \begin{bmatrix}r & 0 & 0 \\0 & r & 0 \\0 & 0 & r\end{bmatrix}$ $H = \begin{bmatrix}{- 1} & 0 & 1 & 0 & 0 & 1 & 0 \\1 & 0 & 1 & 0 & 0 & 0 & 1 \\0 & 0 & 0 & 0 & 1 & 0 & 0\end{bmatrix}$

The Kalman Estimator code segment below iterates on each measurement andestimates the states:

-   -   for i=1:max(size(z))        -   % a priori update        -   x=A*x;        -   P=A*P*A′+Q;        -   % a postpripri update        -   y=z(:,i)−H*x;        -   K=P*H′*(H*P*H′+R)A−1;        -   x=x+K*y;        -   P=(eye(size(P))−K*H)*P;        -   output(i,:)=x(:);    -   Z(:,i)=x(5);    -   end

Referring now to FIG. 6, position states (x,y) are shown that correspondto filtered measurements shown in FIG. 5. It should be noted that thefilter bandwidth is derived from the error covariance and measurementparameters, which depend on the noise characteristics of, for instance,photodiodes 102, 104, 106, and 108. Referring to FIG. 7, estimatedpseudo velocity states (dxdt,dydt) are depicted. In FIG. 8, estimateddepth is depicted. Referring now to FIGS. 9 and 10, it can be seen thatdxdt plotted against dydt is elliptical in nature. FIG. 9 depicts thisfor a left-to-right swipe gesture, and FIG. 10 depicts this for atop-to-bottom swipe gesture. It can be seen that the orientation of thegesture is implicit in this representation. Elliptical representationsof the gestures of FIGS. 9 and 10 are shown in FIGS. 11 and 12,respectively. In some implementations, when the number of samplesbetween two extremities of an elliptical representation small (e.g.,less than four (4)), the gesture may be deemed invalid/undefined.However, the number four (4) is provided by way of example only and isnot meant to be restrictive of the present disclosure. Thus, othernumbers of samples may be required to detect a valid gesture.

In the following discussion, an example electronic device is described.Example procedures are then described that may be employed by thedevice.

Example Environment

FIG. 13 illustrates an example electronic device 1300 that is operableto perform techniques discussed herein. The electronic device 1300 maybe configured in a variety of ways. For instance, electronic device 1300may be configured as a tablet computer, a mobile phone, a smart phone, aPC, a laptop computer, a netbook computer, a hand-held portablecomputer, a PDA, a multimedia device, a game device, an eReader device,a Smart TV device, a surface computing device (e.g., a table topcomputer), a Human Interface Device (HID), combinations thereof, and soforth. However, these devices are provided by way of example only andare not meant to be restrictive of the present disclosure. Thus, theelectronic device 1300 may be configured as various other devices, whichmay include a hands-free human interface.

In FIG. 13, the electronic device 1300 is illustrated as including aprocessor 1302 and a memory 1304. The processor 1302 provides processingfunctionality for the electronic device 1300 and may include any numberof processors, micro-controllers, or other processing systems andresident or external memory for storing data and other informationaccessed or generated by the electronic device 1300. The processor 1302may execute one or more software programs which implement the techniquesand modules described herein. The processor 1302 is not limited by thematerials from which it is formed or the processing mechanisms employedtherein and, as such, may be implemented via semiconductor(s) and/ortransistors (e.g., electronic Integrated Circuits (ICs)), and so forth.

The memory 1304 is an example of device-readable storage media thatprovides storage functionality to store various data associated with theoperation of the electronic device 1300, such as the software programand code segments mentioned above, or other data to instruct theprocessor 1302 and other elements of the electronic device 1300 toperform the techniques described herein. Although a single memory 1304is shown, a wide variety of types and combinations of memory may beemployed. The memory 1304 may be integral with the processor 1302,stand-alone memory, or a combination of both. The memory may include,for example, removable and non-removable memory elements such as RandomAccess Memory (RAM), Read Only Memory (ROM), Flash memory (e.g., aSecure Digital (SD) card, a mini-SD card, a micro-SD card), magneticmemory, optical memory, Universal Serial Bus (USB) memory devices, andso forth. In embodiments of the electronic device 1300, the memory 1304may include removable Integrated Circuit Card (ICC) memory, such asmemory provided by Subscriber Identity Module (SIM) cards, UniversalSubscriber Identity Module (USIM) cards, Universal Integrated CircuitCards (UICC), and so on.

As shown in FIG. 13, the electronic device 1300 includes a sensor, suchas a photosensor/photodetector 1306 (e.g., an Ambient Light Sensor(ALS)). The photodetector 1306 may be configured in a variety of ways.For example, the photodetector 1306 may comprise one or more photosensordiodes, phototransistors, and so forth (e.g., as described withreference to FIG. 1). In implementations, the photodetector 1306 iscapable of detecting light and providing a signal in response thereto.Thus, the photodetector 1306 may provide a signal by converting lightinto current and/or voltage based upon the intensity of the detectedlight. For example, when photodetector 1306 is exposed to light,multiple free electrons may be generated to create a signal comprised ofelectrical current. The signal may correspond to one or morecharacteristics of the detected light. For example, the characteristicsmay correspond to, but are not necessarily limited to: the position ofthe detected light with respect to the photodetector 1306, the intensity(e.g., irradiance, etc.) of the light incident upon the photodetector1306, how long the light is incident on the photodetector 1306, anorientation of the light incident upon the photodetector 1306, and soforth.

The photodetector 1306 can be configured to detect light in both thevisible light spectrum and the near infrared light spectrum. As usedherein, the term “light” is used to refer to electromagnetic radiationoccurring in the visible light spectrum and/or the near infrared lightspectrum. For instance, as referenced herein, the visible light spectrum(visible light) includes electromagnetic radiation occurring in therange of wavelengths from about three hundred ninety nanometers (390 nm)to approximately seven hundred fifty nanometers (750 nm). Similarly, asreferenced herein, the near infrared light spectrum (infrared light)includes electromagnetic radiation that ranges in wavelength from aboutseven hundred nanometers (700 nm) to three microns (3 μm). Inimplementations, Complementary Metal-Oxide-Semiconductor (CMOS)fabrication techniques may be used to form the photodetector 1306.

In implementations, the photodetector 1306 comprises an ALS configuredas a segmented photodetector 1306. The segmented photodetector 1306 mayinclude an array of individual photodetectors provided in a singlepackage. For example, a quad segmented photodetector can be used that isfunctionally equivalent to four (4) individual photodetectors arrangedin a quad (e.g., two-by-two (2×2)) layout array. Thus, the photodetector1306 may be configured to detect gestures in multiple orientations withrespect to the orientation of the photodetector 1306 (e.g.,right-to-left, left-to-right, top-to-bottom, bottom-to-top, diagonallyacross the photodetector, etc.). For example, as an object (e.g., ahand) passes through the field of view of the segmented photodetector1306, each individual photodetector may provide a signal that is out ofphase with the other photodetectors of the segmented photodetector 1306as the object passes over the respective individual photodetectors.

While photodetector 1306 has been described with some specificity ascomprising a number of photodiodes arranged in an array (e.g., as shownin FIG. 13) and/or as a segmented photodetector 1306, theseconfigurations are provided by way of example only and are not meant tobe restrictive of the present disclosure. Thus, the photodetector 1306may include, but is not necessarily limited to: an active pixel sensor(e.g., an image sensor including an array of pixel sensors, where eachpixel sensor is comprised of a light sensor and an active amplifier); aCharge-Coupled Device (CCD); a Light-Emitting Diodes (LED)reverse-biased to act as a photodiode; an optical detector that respondsto the heating effect of incoming radiation, such as a pyroelectricdetector, a Golay cell, a thermocouple, and/or a thermistor; aphotoresistor/Light Dependent Resistor (LDR); a photovoltaic cell; aphotodiode (e.g., operating in photovoltaic mode or photoconductivemode); a photomultiplier tube; a phototube; a phototransistor; and soforth. Further, photodetector 1306 is provided by way of example onlyand other sensors can be used to detect gestural motions, including aproximity sensor that emits a beam of electromagnetic radiation (e.g.,infrared light), a touchpad, a camera, and so forth. For instance, oneor more cameras can be used to detect gestures, such as depth-awarecameras, stereo cameras, and so forth.

The electronic device 1300 may include an illumination source 1307configured to generate light (e.g., near infrared light and/or visiblelight) within a limited spectrum of wavelengths. The illumination source1307 may be used to illuminate an object proximal to the electronicdevice 1300, such as the hand of an operator, allowing the photodetector1306 to more easily and/or accurately detect the object. In animplementation, the photodetector 1306 may be configured to detect light(e.g., light reflected from an object proximate to the device 1300)generated and emitted from the illumination source 1307. Thus, thephotodetector 1306 may be configured to detect light within a limitedspectrum of wavelengths. For example, the illumination source 1307 maygenerate a light occurring in a first spectrum of wavelengths, and thephotodetector 1306 may be configured to detect light only occurringwithin the first spectrum of wavelengths. In implementations, theillumination source 1307 may comprise a light emitting diode, a laserdiode, or another type of light source.

As shown in FIG. 13, the electronic device 1300 includes an estimator1308 configured to provide estimated values based upon the signalsreceived from the photodetector 1306 (e.g., via a data bus, or thelike). In an implementation, the estimated values correspond tocharacteristics of the detected light (e.g., positional data of thedetected light within the photodetector 1306 field of view, theintensity of the light incident upon the photodetector 1306 for derivingdepth data relating to the object within the field of view, theorientation of the light incident upon the photodetector 1306 forderiving directional data relating to the object, the time for whichlight was incident upon the photodetector 1306 for deriving velocitydata relating to the object, etc.) For example, the estimator 1308 isconfigured to receive signals representing characteristics of the lightdetected by the photodetector 1306 (e.g., the segmented photodetector1306) and produce estimated values based upon these characteristics. Theestimator 1308 may be implemented in hardware, software, firmware,combinations thereof, or the like.

The estimator 1308 may use any suitable stochastic technique to derivethe estimated values. For example, the estimator 1308 may be a Kalmanestimator, or the like. In a specific example, the estimator 1308 may bea Kalman estimator configured to generate linear coordinate informationrepresenting the detected light. For example, the estimator 1308 may beconfigured to derive estimated values, such as velocity estimates (e.g.,velocity vectors), of the measured values of the signals and/orcalculated values associated with the signals by predicting an estimatedvalue corresponding to characteristics of the light (e.g., as measuredby the photodetector 1306), estimating the uncertainty of the predictedestimated value, and computing a weighted average of a predictedestimated value and a measured value. In an implementation, theestimator 1308 may derive velocity vectors as a function of the amountof time light is incident upon the photodetector 1306.

The estimator 1308 may also determine the direction of a gesture basedupon which individual photodetecting elements of the photodetector 1306receive reflected light for a given amount of time. For example, a firstphotodetecting element within a segmented photodetector 1306 may detectlight reflected from a gesture before a second photodetecting elementdetects the light, e.g., as an object is moved within the field of viewof the segmented photodetector 1306. Thus, the estimator 1308 may beconfigured to generate velocity vectors for a detected object based uponpositional changes of detected light within a field of view of thephotodetector 1306 as a function of time (e.g., as function of thecapture rate of the photodetector 1306). In another specific example,the estimator 1308 may be a Kalman estimator configured to derive polarcoordinate information of the detected light (e.g., deriving phaseinformation of the detected light, etc.).

While the device 1300 is operational, the estimator 1308 can beconfigured to continuously sample signals from the photodetector 1306.For instance, the estimator 1308 may be configured to continuouslysample signals generated by the photodetector 1306 at or duringpredetermined time intervals (e.g., sampling about every microsecond,about every millisecond, about every second, etc.). Further, theestimator 1308 may be configured to account for biases and/or offsetswithin signals received from the photodetector 1306. For instance, theestimator 1308 may be configured to account for an obscurity (e.g., aliquid drop, a dust particle, etc.) within the field of view of thephotodetector 1306 and generate estimated values (e.g., velocityestimates) corresponding to characteristics of the light incident uponthe photodetector 1306 while compensating for the obscurity with respectto the detected light characteristics. For example, the estimator 1308may derive offset information pertaining to detected light.

As shown in FIG. 13, the electronic device 1300 may include an ellipseestimation module 1310 in communication with the estimator 1308 (e.g.,via a data bus, etc.). The ellipse estimation module 1310 representsfunctionality to generate coefficients that correspond to (e.g.,represent) the estimated values generated by the estimator 1308. Forexample, five (5) coefficients can be generated for an ellipticalrepresentation of a gesture direction and a gesture magnitude, asmeasured with respect to a geographic plane. For instance, theelliptical representation may be a description of a ellipse in a generalparametric representation, a canonical representation, a polarrepresentation, or the like. In implementations, the ellipse estimationmodule 1310 is configured to generate coefficients relating to thedetected gesture (e.g., a finger swipe, etc.) based upon velocityvectors generated by the estimator 1308. The ellipse estimation module1310 may use a suitable ellipse estimation model to derive a coefficientdataset, such as a Least Squares model, and so forth. For example, theellipse estimation module 1310 may use the Least Squares model asdescribed in “Direct Least Squares Fitting of Ellipses” (Fitzgibbon,Andrew W.; Pilu, Maurizio; & Fisher, Robert B. (1999). Direct LeastSquare Fitting of Ellipses. IEEE Transactions on Pattern Analysis andMachine Intelligence, 21(5): 476-480.), which is herein incorporated byreference in its entirety. In implementations, the ellipse estimationmodule 1310 uses the Least Squares model to generate five (5)coefficients, as described herein.

In a specific instance, the coefficients derived using a Least Squaresmodel, may comprise a general parametric representation of an ellipse,with two (2) center coefficients that represent the center coordinatesof the ellipse within a geographic (e.g., Cartesian) plane (where thecenter coefficients are denoted herein as Cx, Cy), two (2) radiicoefficients that represent radii values (e.g., semi-major andsemi-minor radii) of the ellipse within the geographic plane (denotedherein as Rx, Ry), and one (1) coefficient that represents theorientation (e.g., angle) of the ellipse within the geographic plane(denoted herein as theta). Thus, the coordinate system embodies areference frame for the geometrical representation of the gesture, andthe orientation and speed of the gesture are represented with respect tothis reference frame. It should be noted that the geographic plane usedto map the generated ellipse may correlate to spatial positions of thegesturer with respect to the photodetector 1306. For example, centercoefficients for ellipses representing spatially separated gestures maybe separated by a finite distance within the coordinate system, wherethe distance between the center coefficients corresponds to a spatialdistance between the gestures provided by the gesturer with respect to,for example, photodetector 1306. While this example has been providedwith reference to a general parametric representation, it should benoted that other elliptical representations may be used as well,including, but not necessarily limited to: a canonical representationand a polar representation.

In implementations, the theta coefficient corresponds to the directionof the detected gesture with respect to the orientation of thephotodetector 1306 (e.g., comprising an angle representingleft-to-right, right-to-left, up-to-down, down-to-up, or diagonalorientations of the gesture, etc.). In implementations, one or more ofthe radii values may correspond to a velocity of the detected gesture.For instance, the longer the light is incident upon the photodetector1306, the smaller a radii value may be, as compared to a radii valueassociated with a shorter amount of time that light is incident upon thephotodetector 1306 (e.g., for a slower gesture performed over thephotodetector 1306 versus a quicker gesture performed over thephotodetector 1306).

The electronic device 1300 may be configured to interpret estimatedvalues of a gesture based upon an analysis of two or more gestures. Forexample, once the device 1300 is transitioned from a non-operationalstate to an operational state, when a different user begins to operatethe electronic device, and so forth, the device 1300 may request abaseline gesture to more accurately interpret relative velocity valuesfor subsequently performed gestures. For example, the electronic device1300 may initiate a request for a user to perform a gesture at anintermediate speed (e.g., between what would be a fast speed and slowspeed for that particular user). Thus, a detected gesture that isquicker (e.g., where less light is incident upon the photodetector 1306)than the baseline may be represented using radii coefficients that aregreater than radii coefficients used to represent a baseline gesture.Conversely, a detected gesture that is slower (e.g., where a greateramount of light is incident upon the photodetector 1306) than thebaseline may be represented using radii coefficients that are less thanbaseline radii coefficients for that user. Further, the electronicdevice 1300 may store baseline gesture information in the form ofcoefficients (e.g., using memory 1304, and so forth) in order tointerpret subsequently detected gestures for a particular user.

The device 1300 may be configured to distinguish between distinctgestures. For the purposes of the present disclosure, a distinct gesturemay be defined as occurring when some amount of measurable lightincident upon the photodetector 1306 transitions to at leastsubstantially less measurable light incident upon the photodetector 106.In some instances (e.g., where light reflected by an object is used tomeasure a gesture), a transition from less detected light tosubstantially more detected light and again to less detected light maycomprise a distinct gesture. In other instances (e.g., where lightblocked by an object is used to measure a gesture, such as for a backlitobject), a transition from more detected light to substantially lessdetected light and again to more detected light may comprise a distinctgesture. For example, the photodetector 1306 may be configured togenerate signals corresponding to characteristics of the light (e.g.,light emitted from the illumination source 1307) incident upon thephotodetector 1306. Thus, once the photodetector 1306 is no longer isproviding signals for a predetermined amount of time (e.g., ananosecond, a millisecond, a second, and so forth), the ellipseestimation module 1310 may determine that the associated gesture hasbeen completed and generate the coefficients corresponding to thesignals representing the distinct gesture.

It should be noted that, for the purposes of the present disclosure, theterm “light,” when used with “detect,” “sense,” “convert,” and so forth,should not be construed as limited to the detection or conversion of thepresence or absence of light (e.g., above or below a particularthreshold), or to detecting or converting a spectrum of wavelengths to asingle measurement representative of overall light intensity (e.g.,irradiance) within the spectrum. Thus, the detection and/or conversionof the presence of light, within the context of the present disclosure,may be used to refer to detecting and/or converting the presence orabsence of light (e.g., above or below a particular threshold),detecting and/or converting a spectrum of wavelengths to a singlemeasurement representative of overall light intensity within thespectrum, as well as to detecting and/or converting multiple frequencieswithin a range of possible frequencies, such as detecting and/orconverting intensities of radiation separately in two or more subsets ofwavelengths within a spectrum, as well as for individual frequencies,such as colors of light, and so forth.

Accordingly, phrases such as “more detected light” and “less detectedlight” may refer to both representations of light within a broad rangeof wavelengths and representations of light within a limited range ofwavelengths (e.g., for a particular color within a color spectrum,etc.). For example, the phrase “a transition from more detected light tosubstantially less detected light and again to more detected light” maybe used to refer to measurements of light within a spectrum ofwavelengths (e.g., for visible light), as well as to measurements oflight at one or more specific wavelengths and/or within multiplewavelength ranges (e.g., for a particular color). Thus, techniquesdescribed with reference to an array of photodiodes may also be appliedwith an image capture device (e.g., a camera), where an object (e.g., ahand) may be detected by differentiating its color from a differentcolor indicative of the surrounding environment.

The electronic device 1300 includes a display 1312 to displayinformation to a user of the electronic device 1300. In embodiments, thedisplay 1312 may comprise an LCD (Liquid Crystal Diode) display, a TFT(Thin Film Transistor) LCD display, an LEP (Light Emitting Polymer) orPLED (Polymer Light Emitting Diode) display, an Organic Light EmittingDiode (OLED) display, and so forth, which may be configured to displaytext and/or graphical information, such as a graphical user interface,and so forth. The electronic device 1300 may further include one or moreInput/Output (I/O) devices 1314 (e.g., a keypad, buttons, a wirelessinput device, a thumbwheel input device, a trackstick input device, andso on). In an implementation, the photodetector 1306 may be configuredas an I/O device 1314. For example, the photodetector 1306 may detectlight representing gestures corresponding to a desired operationassociated with the electronic device 1300. Additionally, the I/Odevices 1314 may comprise one or more audio I/O devices, such as amicrophone, speakers, and so on.

The electronic device 1300 may include a communication module 1316,representative of communication functionality to permit electronicdevice 1300 to send/receive data between different devices (e.g.,components/peripherals) and/or over one or more networks 1318.Communication module 1316 may be representative of a variety ofcommunication components and functionality including, but notnecessarily limited to: an antenna; a browser; a transmitter and/or areceiver; a wireless radio; a data port; a software interface and/or adriver; a networking interface; a data processing component; and soforth. The one or more networks 1318 are representative of a variety ofdifferent communication pathways and network connections which may beemployed, individually or in combination, to communicate among thecomponents of the environment 1300. Thus, the one or more networks 1318may be representative of communication pathways achieved using a singlenetwork or multiple networks. Further, the one or more networks 1318 arerepresentative of a variety of different types of networks andconnections that are contemplated, including, but not necessarilylimited to: the Internet; an intranet; a satellite network; a cellularnetwork; a mobile data network; wired and/or wireless connections; andso forth.

Examples of wireless networks include, but are not necessarily limitedto: networks configured for communications according to: one or morestandard of the Institute of Electrical and Electronics Engineers(IEEE), such as 802.11 or 802.16 (Wi-Max) standards; Wi-Fi standardspromulgated by the Wi-Fi Alliance; Bluetooth standards promulgated bythe Bluetooth Special Interest Group; a 3G network; a 4G network; and soon. Wired communications are also contemplated such as through USB,Ethernet, serial connections, and so forth. The electronic device 1300,through functionality represented by the communication module 1316, maybe configured to communicate via one or more networks 1318 to receivevarious content 1320 from one or more content repositories 1322 (e.g.,an Internet provider, a cellular data provider, etc.). Content 1320 mayrepresent a variety of different content, examples of which include, butare not necessarily limited to: web pages; services, music, photographs,video, email service, instant messaging, device drivers, instructionupdates, and so forth.

The electronic device 1300 may include a user interface 1324, which isstorable in memory 1304 and executable by the processor 1302. The userinterface 1324 is representative of functionality to control the displayof information and data to the user of the electronic device 1300 viathe display 1312. In some implementations, the display 1312 may not beincluded as a part of the electronic device 1300 and may instead beconnected externally using USB, Ethernet, serial connections, and soforth. The user interface 1324 may provide functionality to allow theuser to interact with one or more applications 1326 of the electronicdevice 1300 by providing inputs via the I/O devices 1314. For example,the user interface 1324 may cause an Application Programming Interface(API) to be generated to expose functionality to an application 1326 toconfigure the application for display by the display 1312, or incombination with another display. In embodiments, the API may furtherexpose functionality to configure the application 1326 to allow a userto interact with an application by providing inputs via the I/O devices1314. For example, a user may provide hand gestures proximate to thephotodetector 1306 corresponding to a desired operation associated withan application 1326. For instance, a user may perform a finger swipeproximate to the photodetector 1306 to transition between variousdisplay pages showing various applications 1326 within the display 1312.

The electronic device 1300 may include applications 1326, which maycomprise software storable in memory 1304 and executable by theprocessor 1302, e.g., to perform a specific operation or group ofoperations to furnish functionality to the electronic device 1300.Example applications include cellular telephone applications, instantmessaging applications, email applications, gaming applications, addressbook applications, and so forth. In implementations, the user interface1324 may include a browser 1328. The browser 1328 enables the electronicdevice 1300 to display and interact with content 1320, such as a webpagewithin the World Wide Web, a webpage provided by a web server in aprivate network, and so forth. The browser 1328 may be configured in avariety of ways. For example, the browser 1328 may be configured as anapplication 1326 accessed by the user interface 1324. The browser 1328may be a web browser suitable for use by a full resource device withsubstantial memory and processor resources (e.g., a smart phone, a PDA,etc.). The browser 1328 may be a mobile browser suitable for use by alow-resource device with limited memory and/or processing resources(e.g., a mobile telephone, a portable music device, a transportableentertainment device, etc.).

The electronic device 1300 is configured to detect gestures via thephotodetector 1306 and generate a compact representation of the detectedgestures. As described above, the estimator 1308 is configured togenerate estimated values relating to the light incident upon thephotodetector 1306. The estimated values are generated based upon thecharacteristics of the detected light. Thus, the estimated values maydepend upon the intensity of light incident upon the photodetector 1306,the amount of time the light is incident upon the photodetector 1306, anorientation (e.g., direction) of the light incident upon thephotodetector 1306, and so forth. In implementations, the ellipseestimation module 1310 receives the estimated values, such as thevelocity values, from the estimator 1308 and generates the five (5)coefficients (Cx, Cy, Rx, Ry, theta) based upon the estimated values.The five coefficients may be used to form an ellipse in a geographicplane to represent the detected gesture. In implementations, thesemi-major radius of the ellipse is proportional to thespeed/dimensionless velocity vector of the gesture (which can bemeasured with respect to a baseline gesture), and the orientation of theellipse corresponds to the direction of the gesture (e.g., with respectto the orientation of the photodetector 1306). Further, the area of theellipse may convey the size (e.g., height) of an object performing thegesture.

In implementations, an elliptical representation of a gesture can bedescribed (e.g., stored, transmitted, interpreted, and so forth) in avariety of ways. For example, an elliptical representation can bedescribed using coefficients to represent a mathematical definition ofthe ellipse (e.g., as previously described). Further, an ellipticalrepresentation can be described as an image (e.g., a bitmap, etc.). Instill further implementations, an elliptical representation of a gesturecan be described using magnitude and angle measures (e.g., pseudovelocity and degrees notation, respectively). For example, a slowleft-to-right gesture can be denoted as [097,0.1], while a faster rightto left gesture may be denoted as [271,0.4] (where degree measurementsare described in compass rose notation). It should be noted that adiscrete event interface (e.g., where a right-to-left gesture is denotedas a text string, like “Right2Left,” a left-to-right gesture is denotedas “Left2Right,” and so forth) may be provided within the context of agaming interface.

In implementations, the elliptical representation of a gesture (e.g., animage of an elliptical representation, coefficients defining anelliptical representation, magnitude and angle information derived froman elliptical representation, a string of text, and so forth) comprisesan intermediate representation of a gesture and may be used to deriveone or more discrete events, including, but not necessarily limited to:a left-to-right swipe, a right-to-left swipe, a top-to-bottom swipe, abottom-to-top swipe, a stop-pause-select motion, a two-finger pinch, atwo-finger zoom, a two-finger rotate, and so forth. In implementations,the elliptical representation may be used by the electronic device 1300in various applications. For example, an ellipse and/or the coefficientsof the ellipse may be used as input commands to the electronic device1300 and/or to another device connected to the electronic device 1300(e.g., when the electronic device 1300 is implemented as an interfacedevice). For example, an elliptical representation having a smallmagnitude (e.g., with reference to a baseline gesture having a largermagnitude) may be used to define a zoom command.

A user may transition through an electronic book (e.g., perform fingerswipes to “turn” the pages of the electronic book) displayed within thedisplay 1312. In another implementation, the coefficients may beprovided as parameters for an application 1326. For example, thecoefficients may represent a desired action within a gaming sequence.For instance, the coefficients may be provided to a gaming application1326, such as a golfing game, and the coefficients can represent thepower and orientation of an input to the gaming application 1326 (e.g.,the coefficients can represent the power and orientation of a golf swingwithin the golfing game). Additionally, the coefficients may be used asparameters to operate the user interface 1324. Further, the coefficientsmay be used by the electronic device 1300 within multiple applicationsthat require input commands from a user. For example, an operatingsystem or application may respond to a discrete command derived from anelliptical representation of a gesture by advancing a display at a rateproportional to a derived speed, a derived velocity vector, or a derivedlinear (e.g., horizontal or vertical) component vector derived from avelocity vector.

Using this type of approach, a user may navigate (e.g., flick) throughmenus controlling speed, direction, and/or selection. For example, auser may navigate through a cascading series of graphicalrepresentations of cover-flow artwork with quick right-to-left swipesfollowed by slower right-to-left swipes as the user gets closer to adesired track. Then, a stop-pause-select event may be used to complete aselection. A bottom-to-top swipe may constitute a cancel event. Theability to provide compact and lossless representations of such gesturescan provide an intuitive and touch-free user interface. In anotherexample implementation, left-to-right swipes can be used to changechannels on a smart TV, while a top-to-bottom swipe can be used to lowerthe volume of the TV. This type of interface can be implemented using,for example, a photodetector 1306 positioned in the bezel of a TV frame,and may supplement or replace the buttons that would otherwise beprovided for enabling control of the TV functions. In a further example,horizontal and/or vertical swipes can be used to advance the pages of abuttonless eReader.

As shown in FIGS. 14A through 14D, the electronic device 1300 may beconfigured to render a display of an ellipse representing a gesture asvisual feedback to allow a user to visualize and/or refine the user'sgesture. In an implementation, the ellipse estimation module 1310 isconfigured to provide instructions to the display 1312 to display thegenerated ellipse (and possibly subsequently generated ellipses) basedupon a user's input gestures. Thus, the ellipse estimation module 1310can generate the five coefficients based upon a gesture performed withinthe field of view of the photodetector 1306. Once the ellipse estimationmodule 1310 generates the coefficients, the module 1310 (or anothermodule) may provide instructions to display an ellipse based upon thecoefficients using, for instance, the display 1312. The user may thenperform subsequent gestures to further refine a gesture (e.g., whenestablishing a baseline gesture, as previously described). In someimplementations, the ellipse estimation module 1310 and/or anapplication 1326 that uses the coefficients for various parameters, mayprovide feedback to the user (e.g., displaying a predetermined ellipsesuperimposed with the generated ellipse). This feedback can allow theuser to adjust gesture motions according to the feedback.

Generally, any of the functions described herein can be implementedusing software, firmware, hardware (e.g., fixed logic circuitry), manualprocessing, or a combination of these implementations. For example, asimplemented with a smart phone and/or a tablet computing device, analgorithm for determining an elliptical representation of a gesture canexist on an application processor and/or within aco-processor/subsystem. The terms “module” and “functionality” as usedherein generally represent software, firmware, hardware, or acombination thereof. The communication between modules in the electronicdevice 1300 of FIG. 13 can be wired, wireless, or some combinationthereof. In the case of a software implementation, for instance, themodule represents executable instructions that perform specified taskswhen executed on a processor, such as the processor 1302 with theelectronic device 1300 of FIG. 13. The program code can be stored in oneor more device-readable storage media, an example of which is the memory1304 associated with the electronic device 1300 of FIG. 13.

Example Procedures

The following discussion describes procedures that may be implemented inan electronic device for detecting gestures. Aspects of the proceduresmay be implemented in hardware, firmware, or software, or a combinationthereof. The procedures are shown as a set of blocks that specifyoperations performed by one or more devices and are not necessarilylimited to the orders shown for performing the operations by therespective blocks. In portions of the following discussion, referencemay be made to the environment 1300 of FIG. 13. The features oftechniques described below are platform-independent, meaning that thetechniques may be implemented on a variety of commercial electronicdevice platforms having a variety of processors.

FIG. 15 depicts a procedure 1500 in an example implementation in whichan electronic device is configured to detect one or more gestures via asensor. As shown in FIG. 15, a signal is provided by a sensor inresponse to the sensor detecting a gesture (Block 1502). For example,with reference to FIG. 13, photodetector 1306 may continually detectlight reflected and/or transmitted from an object and provide a responsethereto while the electronic device 1300 is operational. In someimplementations, the photodetector 1306 may be configured to detectlight generated from an illumination source 1307 (e.g., detecting lightoccurring within a limited spectrum of wavelengths) and generate signalscorresponding to the characteristics of the light detected.

As shown in FIG. 15, one or more values are estimated based upon thesignals generated by the sensor (Block 1504). With continuing referenceto FIG. 13, once signals are generated by the photodetector 1306, theestimator 1308 receives the signals and is configured to estimate one ormore values based upon the characteristics of the light represented bythe signals. In implementations, the estimator estimates velocityvectors (e.g., a speed and an orientation of the gesture with respect tothe photodetector) via suitable stochastic techniques of the detectedgesture (e.g., using a Kalman estimator). The signals may represent adistinct gesture as detected by the photodetector 1306. For example, asingle gesture may be defined for a time period from when thephotodetector 1306 initially detects light reflected within the specificwavelength until the photodetector 1306 does not at least substantiallydetect light reflected within the specific wavelength (e.g., a handpasses over the photodetector 1306 and reflects light for a period oftime).

The estimator may determine whether a gesture has been detected(Decision Block 1506). If the gesture is not complete (NO from DecisionBlock 1506), the estimator continues to receive signals from thephotodetector and generates estimated values based upon the signals.When a completed gesture is detected (YES from Decision Block 1506), theestimator furnishes the estimated values, such as the velocity vectors,to the ellipse estimation module.

Then, an elliptical representation of the gesture is determined (Block1508). For example, coefficients are derived from the estimated values(Block 1510). In implementations, five (5) coefficients are derived bythe ellipse estimation module through a suitable ellipse estimationmodel, such as a Least Squares model (e.g., as previously described).The coefficients can comprise two (2) center coefficients that representthe center coordinates of the ellipse within a geographic (e.g.,Cartesian) plane (Cx, Cy), two (2) radii coefficients that represent theradii values of the ellipse within the geographic plane (Rx, Ry), andone (1) coefficient that represents the orientation of the ellipsewithin the geographic plane (theta). Once the ellipse estimation modulederives the coefficients, the coefficients may be used as parameters invarious applications. For example, the coefficients may be used totransition between pages within an electronic book. In anotherimplementation, the coefficients may be used to generate an ellipse fordisplay via the electronic device.

CONCLUSION

Although the subject matter has been described in language specific tostructural features and/or process operations, it is to be understoodthat the subject matter defined in the appended claims is notnecessarily limited to the specific features or acts described above.Rather, the specific features and acts described above are disclosed asexample forms of implementing the claims.

What is claimed is:
 1. An electronic device comprising: a sensorconfigured to detect a gesture and provide a signal in response thereto;and an estimator communicatively coupled to the sensor, the estimatorconfigured to receive the signal from the sensor and generate one ormore velocity vectors based upon the gesture, the estimator configuredto generate one or more estimated values corresponding to an ellipticalrepresentation of the gesture, the one or more estimated values basedupon the velocity vectors, wherein the elliptical representation of thegesture comprises a plurality of coefficients based upon the one or morevelocity vectors, the plurality of coefficients comprising at least oneof a center coefficient representing a center coordinate of an ellipsewithin a geographic plane, a first radius coefficient representing asemi-major radius value of the ellipse within the geographic plane, asecond radius coefficient representing a semi-minor radius value of theellipse within the geographic plane, or a theta coefficient representingan orientation of the ellipse within the geographic plane.
 2. Theelectronic device as recited in claim 1, further comprising anillumination source configured to emit light within a limited spectrumof wavelengths, wherein the sensor comprises a photodetector configuredto detect light within the limited spectrum of wavelengths for detectingthe gesture.
 3. The electronic device as recited in claim 1, wherein theestimator is further configured to derive at least one bias offsetstate.
 4. The electronic device as recited in claim 1, wherein theestimator comprises a Kalman Estimator.
 5. The electronic device asrecited in claim 1, wherein the elliptical representation of the gestureis determined using a Least Squares model.
 6. The electronic device asrecited in claim 1, wherein the sensor comprises a photodetectorconfigured as at least one of a quad segmented photodetector, a 2×2array of photodiodes, or a 4×4 array of photodiodes.
 7. A systemcomprising: an illumination source configured to emit light in a limitedspectrum of wavelengths; a sensor configured to detect a gesture withinthe limited spectrum of wavelengths and provide a signal in responsethereto; a processor communicatively coupled to the sensor, theprocessor configured to receive the signal from the sensor; an estimatorcommunicatively coupled to the processor, the estimator configured togenerate one or more velocity vectors based upon the signal; and controlprogramming executable on the processor and configured to generate anelliptical representation of the gesture based upon the velocityvectors, wherein the elliptical representation of the gesture comprisesa plurality of coefficients based upon the one or more velocity vectors,the plurality of coefficients comprising at least one of a centercoefficient representing a center coordinate of an ellipse within ageographic plane, a first radius coefficient representing a semi-majorradius value of the ellipse within the geographic plane, a second radiuscoefficient representing a semi-minor radius value of the ellipse withinthe geographic plane, or a theta coefficient representing an orientationof the ellipse within the geographic plane.
 8. The system as recited inclaim 7, wherein the estimator is a Kalman Estimator.
 9. The system asrecited in claim 7, wherein the signal represents one or morecharacteristics of the detected light comprising at least one of theintensity of the detected light incident upon the photodetector, howlong the light was incident upon the photodetector, or the orientationof the detected light incident upon the photodetector.
 10. The system asrecited in claim 7, further comprising a display configured to displaythe elliptical representation of the gesture.
 11. The system as recitedin claim 7, wherein the elliptical representation for the gesture isdetermined using a Least Squares model.
 12. The system as recited inclaim 7, wherein the sensor comprises a photodetector configured as atleast one of a quad segmented photodetector, a 2×2 array of photodiodes,or a 4×4 array of photodiodes.
 13. A method comprising: receiving asignal from a sensor in response to the sensor detecting a gestureoccurring within a field of view of the sensor; estimating one or morevelocity vectors based upon the signal; and estimating one or morevalues based upon the velocity vectors, the one or more valuescorresponding to an elliptical representation of the gesture, whereinthe elliptical representation of the gesture comprises a plurality ofcoefficients based upon the one or more velocity vectors, the pluralityof coefficients comprising at least one of a center coefficientrepresenting a center coordinate of an ellipse within a geographicplane, a first radius coefficient representing a semi-major radius valueof the ellipse within the geographic plane, a second radius coefficientrepresenting a semi-minor radius value of the ellipse within thegeographic plane, or a theta coefficient representing an orientation ofthe ellipse within the geographic plane.
 14. The method as recited inclaim 13, further comprising deriving a plurality of coefficientsdefining the elliptical representation of the gesture.
 15. The method asrecited in claim 13, wherein estimating one or more values relating tothe signal comprises estimating the one or more values relating to thesignal using a Kalman Estimator.
 16. The method as recited in claim 13,wherein the elliptical representation of the gesture is determined usinga Least Squares model.